 var Controlador={};

 Controlador=(function($,ModeloProducto){
  
  
    var agregarEvento=function(enlaceEvento){
      if(enlaceEvento){
        var cProducto=Controlador;
        enlaceEvento=$(enlaceEvento);
       
        enlaceEvento.live("click",function(){
         
           var url=$(this);
           cProducto.enlaceAtributos(url);
		
            if(!$("select#metodo-de-pago").val()){
               Shadowbox.open({
                    link : url,
                    content : url.attr("href"),
                    player : "iframe",
                    title: "Forma de Pago",
                    height: 200,
                    width: 375
                    
                });
            }else{
              cProducto.agregar('');
            }
            return false;
        });
      }
    };
    /*al cambiar metodo de pago*/
    var metodoPago=function(selector){
      var cProducto=Controlador;
      selector.change(function(){
         var valor=selector.val();
            $.getJSON("peticion-carro.html",{accion:"recalcular",metodo:valor},function(json){
             cProducto.cargarCarro(json);
            });
         });
    };

    var eliminarElemento=function(selector){
      if(selector){
       var enlace=$(selector);
       enlace.live("click",function(){
          Controlador.enlaceAtributos($(this));
          Controlador.agregar('');
          return false;
        });
      }
    };
     $(function(){
        $("body").append('<script id="carroCompraTemp" type="text/x-html"></script>');
           $.get("/templates/carro.html",function(resp){
                  $("script#carroCompraTemp").html(resp);
                  Modelo.listadoProductos({"accion":"productos"},function(){
                    agregarEvento("a.sumar,a.restar");
                    eliminarElemento("a.elmProducto");
                    metodoPago($("select#metodo-de-pago"));
                    });
                  
               });
      });
    
    return {
      enlaceAtributos:function(e){
         
      if(e.attr("href")){
        var enlace=this.enlace;
        if(e.parent().find("input.menuD").size()==0){
            var selector=e.parent().parent();
            enlace.id=selector.find("input.prod").val();
            enlace.accion=e.attr("class");
            enlace.version=selector.find("input.version").val();
            enlace.envoltura=(selector.find("select").val() || enlace.envoltura );
            enlace.metodo=($("select#metodo-de-pago").val() || enlace.metodo);
            enlace.productoEnvoltura=null;
         }else{
            var selector=e.parent();
            var productoEnvoltura=[];
            enlace.id=selector.find("input.menuD").val();
            enlace.accion=(e.hasClass('sumar')) ? 'sumar' : 'restar';
            selector.find("ul li").each(function(){
               var l=$(this);
               var iPd=l.find('input.prod').val();
               var env=l.find('select').val();
               productoEnvoltura.push({id:iPd,envoltura:env});
               
               });
            enlace.productoEnvoltura=productoEnvoltura;
         }
        enlace.tipo=$("input.tipo").val();
        ModeloProducto.producto.apply(this,[enlace]);
      }else{
        return false;
      }
    },
    agregar:function(metodo){
      this.enlace.metodo=(metodo || this.enlace.metodo);
      ModeloProducto.agregarProducto.call(this.enlace);
      return this;
      },
      cargarCarro:function(json){
            var template;
            template = $('#carroCompraTemp').text();
           
            html = Mustache.to_html(template, json);
            $('div#contenidoCarro').html(html);
            var select=$("select#metodo-de-pago");
            if(isNaN(select.val()) || select.val()==""){
               console.log(json.metodo);
              select.find("option[value="+json.metodo+"]").attr("selected","selected");
            }
            
      }
      ,
    enlace:{}
    }
    
  })(jQuery,Modelo);


     
(function($) {
   $(function(){
      var carroDiv= $("div#carro");
      var offset = carroDiv.offset();
      var topPadding = 85;
      $(window).scroll(function() {
         if($(window).height()>480){
            if(offset != null && $(window).height()<768){

             if ($(window).scrollTop() > offset.top) {
                  carroDiv.stop().animate({
                marginTop: $(window).scrollTop() - offset.top + topPadding          
                });
             } else {
                  carroDiv.stop().animate({
                marginTop: 0
                });
             }
          }
         }
         
      });
      });
  
})(jQuery);

function cerrarShadow(){
   Shadowbox.close();
   
}